home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Tutorial Material / Zone Tutorial / Structure Examples / 4. Demo2a < prev    next >
Lisp/Scheme  |  1998-10-26  |  1KB  |  52 lines

  1. ; Demo2a
  2.  
  3. ; notice: rhythms written in tick values which result to very rapid
  4. ; rhythms with the new whole note tick value
  5.  
  6. (setq tonals 
  7.       (activate-tonality (chromatic c 4) (major c 4) (c maj maj7 2 4)
  8.                          (b& min 7 1 3) (aeolian f 3 )))
  9.  
  10. (setq mela '(a b c d))
  11. (setq melb '(a b = c = d))
  12. (setq melc (vector-to-symbol a d (gen-noise-white 16 0.6)))
  13.  
  14. ; Nigel has been using tick value 96 for 1/4 note. 
  15. ; Because Nigel often mixes ticks and ratios, the function must take
  16. ; both cases into account.
  17.  
  18. (defun use-nigel-ticks (l)
  19.   (let (out)
  20.     (dolist (x l)
  21.       (if (is-length-symbol x)
  22.         (push x out)
  23.         (push (* x 5) out)))
  24.     (nreverse out)))
  25.  
  26. (setq rhya '(1/16))
  27. (setq rhyb '(1/8 1/16 1/16 1/4 1/8 1/8))
  28. (setq rhyc 
  29.       (use-nigel-ticks
  30.        (vector-to-list 
  31.         (vector-quantize 2 16 
  32.           (vector-round 24 48
  33.             (gen-noise-white 16 0.6)))))) ; optional scale 'sets' seed
  34.                                        
  35. (def-rhythm
  36.   solo rhyc "---- --- - --- -"  melc
  37. )
  38.  
  39. (def-expression
  40.   default ((legato 70 29 0.7) (humanize -2 2 0.4) (velocity 32 0.1))    
  41.  
  42. (def-velocity
  43.   solo (vector-round 54 96 (gen-noise-white 96 0.6))
  44. )
  45.  
  46. (compile-song-p "ccl;output:" 1/4 "demo2a"
  47. ;                 !---!---!---!---
  48. changes tonals   "    .   . . .   " 
  49. solo    changes  "----------------"
  50. )
  51.